8 puzzle problem using best first search